import { FILTER_ACTIVE } from '../constants'

export const changeActiveAc = (item) => ({
  type: FILTER_ACTIVE,
  item,
})
// 行不通，因为 changeActive() 调用完毕的返回结果不再是 action 啦，而是 undefined
/* export const changeActive = (item) => {
  setTimeout(() => {
    return {
      type: FILTER_ACTIVE,
      item,
    }
  }, 2000)
} */
// !#3 一点应用了 redux-thunk 中间件，这里就支持返回一个函数
export const changeActive = (item) => {
  // 接收 dispatch 参数
  // 这个 dispatch 就是 redux 提供的 dispatch
  return (dispatch) => {
    // 在这儿就可以写各种各样的异步代码
    setTimeout(() => {
      // 异步结果到达之后再进行 dispatch 触发 reducer 的执行
      dispatch(changeActiveAc())
    }, 2000)
  }
}
